題目:
這題要求將 Excel 表格列的名稱轉換為對應的數字。例如,"A"
對應 1
,"Z"
對應 26
,"AA"
對應 27
,類似於將字母作為「26 進位數字」處理。
可以從規律觀察出其實是 26 進位,
範例 1:
columnTitle = "A"
result = 0 * 26 + 1 = 1。
範例 2:
columnTitle = "AB"
result = 1 * 26 + 2 = 28。
範例 3:
columnTitle = "ZY"
result = 26 * 26 + 25 = 701。
實作:
class Solution {
public:
int titleToNumber(string columnTitle) {
int sum = 0;
int j = 0;
for (int i = columnTitle.size()-1; i >= 0; i--) {
sum += (columnTitle[i] - 'A' + 1) * pow(26, j);
j++;
}
return sum;
}
};
參考:
#171. Excel Sheet Column Number